﻿using IntelligentAgriculture.Contracts.Dto.Input;
using IntelligentAgriculture.Contracts.Dto.Output;
using IntelligentAgriculture.Domain.Entity;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace IntelligentAgriculture.Contracts.Interface
{
    /// <summary>
    /// 种母断奶服务接口
    /// </summary>
    public interface ISheepAblactationService
    {
        /// <summary>
        /// 获取档案表母羊在哺乳的耳号列表
        /// </summary>
        /// <returns></returns>
        Task<List<Eartag>> GetEweEarTagsFromSheepFile();
        /// <summary>
        /// 获取羊只当前的栋舍
        /// </summary>
        /// <param name="earTagId">耳号</param>
        /// <returns></returns>
        Task<List<Sheepfilemodel>> GetBuildByEar(string earTagNumber);
        /// <summary>
        /// 添加种母断奶
        /// </summary>
        /// <param name="sheepAblactations">新增信息</param>
        /// <returns></returns>
        Task<int> AddSheepAblactation(List<Sheepablactation> sheepAblactations);

        /// <summary>
        /// 获取种母断奶列表
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        Task<PageOutput<SheepAblactationOutput>> GetSheepAblactation(SheepAblactationInput input);
        /// <summary>
        /// 逻辑删除种母断奶
        /// </summary>
        /// <param name="userId">用户Id</param>
        /// <param name="ids"></param>
        /// <returns></returns>
        Task<int> DelSheepAblacations(int userId, params int[] ids);
    }
}